//package com.base.app_core.ui;
//
//import android.app.Activity;
//import android.content.Intent;
//import android.content.SharedPreferences;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.text.TextUtils;
//
//import com.alipay.sdk.app.PayTask;
//import com.kachemama.core.activity.BaseActivity;
//import com.kachemama.core.constants.AppConstants;
//import com.kachemama.core.constants.F;
//import com.kachemama.core.entity.Paginated;
//import com.kachemama.core.entity.carts.OrderResult;
//import com.kachemama.core.entity.pay.PayOrderInfo;
//import com.kachemama.core.entity.pay.PayResult;
//import com.kachemama.core.presenter.impl.CartPresenterImpl;
//
//import javax.inject.Inject;
//
//public class ZFBAlipayActivity extends BaseActivity<CartPresenterImpl> {
//
//    private static final int SDK_PAY_FLAG = 1;
//    private AlipayHandler alipayHandler = new AlipayHandler();
//
//    private SharedPreferences orderSnInfo;
//
//    @Override
//    protected int getLayoutId() {
//        return 0;
//    }
//    private OrderResult mOrderResult=null;
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        mOrderResult=getIntent().getParcelableExtra(AppConstants.Const.ORDERRESULTBEAN);
////        orderSnInfo = getSharedPreferences("orderSn", 0);
//        doPay();
//    }
//    @Inject
//    PayOrderInfo mOrderInfo;
//    @Override
//    protected void setupComponent() {
//        super.setupComponent();
//        getBaseViewComponent().inject(this);
//    }
//
//    private void doPay() {
//        if(null!=mOrderResult)
//            mPresenter.AliPay(mOrderResult.getOrderCode());
////        PaymentModel model = new PaymentModel(this);
////        model.addResponseListener(this);
////        model.alipay(orderSnInfo.getString("order_sn",""));
//    }
//
//    @Override
//    public <T> void notifyData(final T object, Class tClass, Paginated paginated) {
//        super.notifyData(object, tClass, paginated);
//        if(object instanceof String){
//            Runnable runnable = new Runnable() {
//                @Override
//                public void run() {
//                    PayTask payTask = new PayTask(ZFBAlipayActivity.this);
//                    String result = payTask.pay((String) object);
//                    Message msg = new Message();
//                    msg.what = SDK_PAY_FLAG;
//                    msg.obj = result;
//                    alipayHandler.sendMessage(msg);
//                    F.j(result);
//                }
//            };
//            Thread thread = new Thread(runnable);
//            thread.start();
//        }
//    }
//
//
//
//    class AlipayHandler extends Handler {
//        public void handleMessage(Message msg) {
//            switch (msg.what) {
//                case SDK_PAY_FLAG: {
//                    PayResult payResult = new PayResult((String) msg.obj);
//
//                    // 支付宝返回此次支付结果及加签，建议对支付宝签名信息拿签约时支付宝提供的公钥做验签
//                    String resultInfo = payResult.getResult();
//
//                    String resultStatus = payResult.getResultStatus();
//
//                    // 判断resultStatus 为“9000”则代表支付成功，具体状态码代表含义可参考接口文档
//                    if (TextUtils.equals(resultStatus, "9000")) {
//                        showToast("支付成功");
//                        Intent intent = new Intent();
//                        intent.setClass(ZFBAlipayActivity.this, PaySuccessActivity.class);
////					intent.putExtra("order_sn", order_sn);
////					intent.putExtra("order_fee", order_fee);
////					intent.putExtra("order_id",order_id);
//                        startActivity(intent);
//                        finish();
//                    } else {
//                        // 判断resultStatus 为非“9000”则代表可能支付失败
//                        // “8000”代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认，最终交易是否成功以服务端异步通知为准（小概率状态）
//                        if (TextUtils.equals(resultStatus, "8000")) {
//                            showToast("支付结果确认中");
//
//                        } else {
//                            // 其他值就可以判断为支付失败，包括用户主动取消支付，或者系统返回的错误
//                            showToast("支付失败");
//                            Intent intent = new Intent();
//                            intent.putExtra("pay_result", "fail");
//                            setResult(Activity.RESULT_OK, intent);
//                            finish();
//                        }
//                    }
//                    break;
//                }
//                default:
//                    break;
//            }
//        }
//
//        ;
//    }
//
//    ;
//}
